﻿using System;
using System.Windows.Forms;
using Badge_Manager.View;
using BadgeManager.Controller;
using BadgeManager.Model;

namespace Badge_Manager
{
    internal static class Program
    {
        /// <summary>
        /// Punto di ingresso principale dell'applicazione.
        /// </summary>
        [STAThread]
        private static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                Connector.Istance();
            }
            catch (Exception)
            {
                MessageBox.Show("La connessione al database non è avvenuta");
                frmConnessioneDB datiConnessione = new frmConnessioneDB();
                datiConnessione.ShowDialog();
                return;
            }

            //controlla se esiste  almeno un account
            ctrlUtente cUtente = new ctrlUtente();
            int contatore = cUtente.ControllaPrimoAccount();
            if (contatore > 0)
            {
                Utente utenteLoggatoOForse;
                if (new frmLogin(cUtente).ShowDialog() == DialogResult.OK)
                {
                    utenteLoggatoOForse = cUtente.LoginUtente(cUtente);
                    Application.Run(new frmMain(utenteLoggatoOForse));
                }
            }
            else
            {
                Application.Run(new frmMain(null));
            }
        }
    }
}